#ifndef _KEYMAP_H
#define _KEYMAP_H
#include "type.h"
#include "keyboard.h"

u32 keymap[NR_SCAN_CODES*MAP_COLS] = {
/* scan-code			!Shift		Shift		E0 XX		*/
/* ==================================================================== */
/* 0x00 - none	*/	0,		0,	
/* 0x01 - ESC	*/	ESC,		ESC,
/* 0x02 - '1'		*/	'1',		'!',
/* 0x03 - '2'		*/	'2',		'@',
/* 0x04 - '3'		*/	'3',		'#',
/* 0x05 - '4'		*/	'4',		'$',
/* 0x06 - '5'		*/	'5',		'%',
/* 0x07 - '6'		*/	'6',		'^',
/* 0x08 - '7'		*/	'7',		'&',
/* 0x09 - '8'		*/	'8',		'*',
/* 0x0A - '9'		*/	'9',		'(',	
/* 0x0B - '0'		*/	'0',		')',
/* 0x0C - '-'		*/	'-',			'_',
/* 0x0D - '='		*/	'=',		'+',
/* 0x0E - BS		*/	BACKSPACE,	BACKSPACE,
/* 0x0F - TAB		*/	TAB,		TAB,
/* 0x10 - 'q'		*/	'q',		'Q',
/* 0x11 - 'w'		*/	'w',		'W',
/* 0x12 - 'e'		*/	'e',		'E',
/* 0x13 - 'r'		*/	'r',			'R',
/* 0x14 - 't'		*/	't',			'T',
/* 0x15 - 'y'		*/	'y',		'Y',
/* 0x16 - 'u'		*/	'u',		'U',
/* 0x17 - 'i'		*/	'i',			'I',	
/* 0x18 - 'o'		*/	'o',		'O',
/* 0x19 - 'p'		*/	'p',		'P',
/* 0x1A - '['		*/	'[',			'{',	
/* 0x1B - ']'		*/	']',			'}',
/* 0x1C - CR/LF		*/	ENTER,		ENTER,
/* 0x1D - l. Ctrl	*/		CTRL_L,		CTRL_L,
/* 0x1E - 'a'		*/	'a',		'A',
/* 0x1F - 's'		*/	's',		'S',
/* 0x20 - 'd'		*/	'd',		'D',
/* 0x21 - 'f'		*/	'f',			'F',
/* 0x22 - 'g'		*/	'g',		'G',
/* 0x23 - 'h'		*/	'h',		'H',
/* 0x24 - 'j'		*/	'j',			'J',
/* 0x25 - 'k'		*/	'k',		'K',
/* 0x26 - 'l'		*/	'l',			'L',
/* 0x27 - ';'		*/	';',			':',	
/* 0x28 - '\''		*/	'\'',		'"',	
/* 0x29 - '`'		*/	'`',			'~',
/* 0x2A - l. SHIFT	*/	SHIFT_L,	SHIFT_L,
/* 0x2B - '\'		*/	'\\',		'|',	
/* 0x2C - 'z'		*/	'z',		'Z',
/* 0x2D - 'x'		*/	'x',		'X',
/* 0x2E - 'c'		*/	'c',		'C',
/* 0x2F - 'v'		*/	'v',		'V',
/* 0x30 - 'b'		*/	'b',		'B',
/* 0x31 - 'n'		*/	'n',		'N',
/* 0x32 - 'm'		*/	'm',		'M',
/* 0x33 - ','		*/	',',			'<',
/* 0x34 - '.'		*/	'.',			'>',
/* 0x35 - '/'		*/	'/',			'?',
/* 0x36 - r. SHIFT	*/				SHIFT_R,	SHIFT_R,
/* 0x37 - '*'		*/						'*',		'*', 
/* 0x38 - ALT		*/					ALT_L,		ALT_L,
/* 0x39 - ' '		*/						' ',		' ',	
/* 0x3A - CapsLock	*/	CAPS_LOCK,	CAPS_LOCK,
/* 0x3B - F1		*/		F1,		F1,
/* 0x3C - F2		*/		F2,		F2,
/* 0x3D - F3		*/		F3,		F3,
/* 0x3E - F4		*/		F4,		F4,
/* 0x3F - F5		*/		F5,		F5,
/* 0x40 - F6		*/		F6,		F6,
/* 0x41 - F7		*/		F7,		F7,
/* 0x42 - F8		*/		F8,		F8,
/* 0x43 - F9		*/		F9,		F9,
/* 0x44 - F10		*/	F10,		F10,
/* 0x45 - NumLock	*/	0,	0,
/* 0x46 - ScrLock	*/	0,	0,
/* 0x47 - Home		*/	0,	'7',
/* 0x48 - CurUp		*/	0,	'8',
/* 0x49 - PgUp		*/	0,	'9',
/* 0x4A - '-'		*/			0,	'-',
/* 0x4B - Left		*/		0,	'4',
/* 0x4C - MID		*/		0,	'5',
/* 0x4D - Right		*/	0,	'6',
/* 0x4E - '+'		*/			0,	'+',
/* 0x4F - End		*/		0,	'1',
/* 0x50 - Down		*/	0,	'2',
/* 0x51 - PgDown	*/	0,	'3',
/* 0x52 - Insert	*/		0,	'0',
/* 0x53 - Delete	*/		0,	'.'
};

#endif
